react
react 基础包, 只提供定义 react 组件(
ReactElement
)的必要函数, 一般来说需要和渲染器(react-dom
,react-native
)一同使用. 在编写react
应用的代码时, 大部分都是调用此包的 api.
react-dom
react 渲染器之一, 是 react 与 web 平台连接的桥梁(可以在浏览器和 nodejs 环境中使用), 将
react-reconciler
中的运行结果输出到 web 界面上. 在编写react
应用的代码时,大多数场景下, 能用到此包的就是一个入口函数ReactDOM.render(<App/>, document.getElementById('root'))
, 其余使用的 api, 基本是react
包提供的.
react-reconciler
react 得以运行的核心包(综合协调
react-dom
,react
,scheduler
各包之间的调用与配合).
管理 react 应用状态的输入和结果的输出. 将输入信号最终转换成输出信号传递给渲染器.
scheduleUpdateOnFiber
), 将fiber
树生成逻辑封装到一个回调函数中(涉及fiber
树形结构, fiber.updateQueue
队列, 调和算法等),performSyncWorkOnRoot
或performConcurrentWorkOnRoot
)送入scheduler
进行调度scheduler
会控制回调函数执行的时机, 回调函数执行完成后得到全新的 fiber 树react-dom
, react-native
等)将 fiber 树形结构最终反映到界面上scheduler
调度机制的核心实现, 控制由
react-reconciler
送入的回调函数的执行时机, 在concurrent
模式下可以实现任务分片. 在编写react
应用的代码时, 同样几乎不会直接用到此包提供的 api.
react-reconciler
提供)concurrent
模式下才有此特性)